home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 4_0 / UUPC3 / (OLD_SUP / README.UUP < prev   
Text File  |  1988-03-10  |  9KB  |  278 lines

  1. July 29/87                        Stuart Lynne
  2.  
  3. UUPC is now running on Macintosh, Atari-ST, Amiga, and IBM-PC with MS-DOS.
  4.  
  5. These versions will constitute my first release of uupc and pcmail. Please 
  6. see the README files in each shar file for appropriate instructions.
  7.  
  8. As is, uupc sends and receives files quite well. Still unimplemented is
  9. the reverse direction file transfers, i.e. send a file to a remote host
  10. while in slave mode, receive a file while in master mode. These are not 
  11. needed to support news and mail. A proper uucp command is need too.
  12.  
  13. The user agent mail program is a very simple hack to simply allow you to 
  14. read and send mail. Hopefully someone will work on replacing this!
  15.  
  16. The message transfer agent pcmail program is fairly robust. It does need to
  17. have some more intelligence to allow for more intelligent routing of outgoing
  18. mail. Currently ALL outgoing mail is forward to a single remote site for
  19. processing. This will actually handle the needs of a large number of users
  20. but for those lucky ones who can actually get access to several large uucp
  21. sites better routine would be nice.
  22.  
  23.  
  24. Other things which are needed:
  25.  
  26.     news unbatcher
  27.     news reader
  28.  
  29. Currently the news is simply spooled to a directory with a unique file name.
  30. You can read this with a normal text editor. If you wish to have outgoing mail
  31. the easiest way is to have your news feed set up alias's like:
  32.  
  33.     comp.sys.amiga "| /usr/local/lib/news/recnews comp.sys.amiga"
  34.  
  35. Then simply mail your article to:
  36.  
  37.     comp.sys.amiga@newsfeedhost.uucp
  38.  
  39.  
  40. Please feel free to port this code to other environments. I ask only that you
  41. try and limit changes to the machine independent code. Things have been setup
  42. so that you shouldn't have to modify dcp, uupc, mail or pcmail if you are simply
  43. porting to a new environment. 
  44.  
  45. Please send me any new versions, diff's to get old versions working better,
  46. bug fixes etc.
  47.  
  48. Have fun and enjoy.
  49.  
  50. I would suggest that questions and comments about uupc/dcp/mail be directed
  51. to comp.mail.uucp on Usenet. This group is about "Mail in the uucp network
  52. environment." which describes uupc pretty well.
  53.  
  54.  
  55. Questions, bug fixes etc
  56.  
  57. uupc, mac version, information
  58.  
  59.     Stuart Lynne
  60.     stuart.lynne@van-bc.uucp
  61.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!Stuart.Lynne  604-937-7532
  62.  
  63. Amiga version
  64.  
  65.     Jeff Lydiatt
  66.     jl@jlami.vnet.van-bc.uucp
  67.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!jlami!jl
  68.  
  69. Atari ST version
  70.  
  71.     Lawrence Harris
  72.     lawrence@nvanbc.uucp
  73.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!lawrence
  74.  
  75. IBM PC - MS-DOS version
  76.  
  77.     Samuel Lam
  78.     skl@sklpc.vnet.van-bc.uucp
  79.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!skl
  80.  
  81. uupc mailing list 
  82.  
  83.     uupc@van-bc.uucp            Automatically forwarded to mailing list
  84.     uupc-request@van-bc.uucp    For requests to be added to mailing list
  85.  
  86.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!uupc
  87.     {{seismo,ihnp4!alberta}!ubc-vision,uunet}!van-bc!nvanbc!uupc-request
  88.     
  89.  
  90. NB. Rurrently UUNET is only polled twice per week, you may wish to send
  91. any messages via both paths to ensure delivery. UUNET is probably more
  92. reliable, ubc-vision may be faster if you can reach them from your site.
  93.  
  94.  
  95.  
  96. uupc             June 8, 1987        Stuart Lynne
  97.  
  98. For Beta implementors only.
  99.  
  100. uupc incorporates a streamlined version of dcp to implement a uucp mail
  101. and news delivery system. 
  102.  
  103. See README.DCP for dcp info.
  104.  
  105. By moving the host dependant code into one file the other four dcp files can 
  106. hopefully be maintained easily. It should be possible to maintain one version
  107. of them which compiles and runs on all machines without conditional compilation
  108. flags.
  109.  
  110. The host file should contain:
  111.  
  112.     - serial I/O
  113.     - BSD compatible directory routines
  114.     - system call stuff
  115.  
  116. This all goes to implement a command called uupc. It is similiar to the uucico
  117. command under unix.
  118.  
  119.     uupc [-xn] [-shost]
  120.  
  121.  
  122. There is also two mail source files. Pcmail is the MTA part of the mail system.
  123. It compiles in two ways, one for rmail (add only From and Received: headers), 
  124. define a simple rnews; and for lmail (add all headers). Pcmail will effect
  125. delivery of mail to local and remote users. Currently all remote mail is 
  126. directed to one smart host for forwarding.
  127.  
  128. Mail is a simple UA. It allows you to send mail and read your mailbox. It needs
  129. lots of work but is servicable.
  130.  
  131.     mail -s "subject here" user user@remote.site.domain < message
  132.  
  133.     mail -f =mailbox
  134.  
  135.     mail
  136.  
  137. will all do the obvious. Mail will append a .signature if it can find one, and
  138. will keep a copy of your outgoing mail in =mail.sent.
  139.  
  140. ToDo:
  141.  
  142.     uucp command
  143.     mail improvements
  144.     bug fixes to uupc/dcp
  145.     ports to Atari, Amiga, IBM PC, VMS
  146.  
  147.  
  148. Makefile    - sample Makefile (Macintosh Aztec C)
  149. getargs.c     - library routine
  150. lmail.c     - define LMAIL; include pcmail
  151. mail.c      - mail program (UA)
  152. pcmail.c     - mail program (MTA)
  153. rmail.c     - define RMAIL; include pcmail
  154. lib.c        - misc library routines, FOPEN, CREAT, getargs, printmsg
  155.  
  156. host.h         - prototype for host.c, includes "local/host.h"
  157. mailhost.c     - ditto for mailhost.c, includes "local/host.c"
  158. mlib.c         - ditto for mlib.c,     includes "local/mlib.c"
  159. ulib.c         - ditto for ulib.c,     includes "local/ulib.c"
  160. uuhost.c     - ditto for uuhost.c,     includes "local/host.c"
  161.  
  162.  
  163. pcmail in general
  164. Pcmail provides MTA functionality. It delivers the mail. Currently it is
  165. very dumb about forwarding mail. Local deliveries always succeed if there
  166. is room and the mail spooling directory exists. No "/etc/passwd" file list
  167. of users is used to determine if there really is a mailbox for an incoming
  168. message. Also outgoing mail is assumed to go to one smart host for 
  169. processing. This is determined by scanning for "!" or "@" in the address.
  170.  
  171. Both local and remote delivery algorithms could be souped up. Locally we
  172. should maintain a list of mailboxes. For remote we should attempt to build
  173. a path to the most reasonable host for forwarding a specific message. This
  174. will require a small version of the paths database most likely. If your 
  175. only talking to one host anyway the current scheme is not all that bad.
  176.  
  177. Pcmail has one additional capability which is not currently being exploited.
  178. It can add additional message length header lines and spool mail into a 
  179. mailbag. This mailbag could then be sent intact to your host for processing.
  180. The host must run rpcmail (availble from sl@van-bc.uucp) to unbatch the
  181. messages to rmail. This corresponds to the AT&T Mail protocol for uploading
  182. mail from PC's.
  183.  
  184. Most likely the converse capability would be more suitable. Have the host 
  185. batch incoming mail and news. Unbatch it on this side. 
  186.  
  187. pcmail / LMAiL
  188. The mail UA is composed of the mail.c program and pcmail.c compiled without
  189. defining RMAIL (LMAIL). The LMAIL version of pcmail adds rfc822 headers
  190. to all mail, copies mail to =mail.sent etc.
  191.  
  192. pcmail / RMAIL
  193. The uu program contains the RMAIL version of pcmail. It only adds the From 
  194. Received: headers to incoming mail. 
  195.  
  196.  
  197.  
  198. For more information, bug fixes, more commands etc:
  199.  
  200.         Stuart.Lynne@van-bc.uucp
  201.         604-937-7532
  202.  
  203.  
  204. Directory tree
  205.  
  206. /usr
  207. /usr/lib
  208. /usr/lib/uucp
  209. /usr/lib/uucp/SEQF            - sequence numbers
  210. /usr/lib/uucp/systems        - host connection information
  211. /usr/spool
  212. /usr/spool/mail                - mail directory
  213. /usr/spool/mail/XXXX        - user mail files
  214. /usr/spool/rnews            - rnews spool/file
  215. /usr/spool/uucp                - spool directory
  216. /usr/spool/uucp/C.YYYYYNNNN    - copy control files
  217. /usr/spool/uucp/D.YYYYYNNNN    - uucp data files
  218. /usr/spool/uucp/dcp.log        - log file
  219. /usr/spool/uucp/X.YYYYYNNNN    - execute control files
  220. /usr/XXXX                    - user directories
  221. /usr/XXXX/.signature        - signature file
  222. /usr/XXXX/Mail                - user mail directory
  223. /usr/XXXX/Mail/mail.sent    - sent file
  224. /tmp                        - temporary files
  225.  
  226.  
  227.  
  228. Systems File 
  229.  
  230. NB. I have split the lines, in the real file they should be one line for
  231. each entry.
  232.  
  233. This entry uses the built in Hayes dialer.
  234.  
  235. van-bc Any a HAYES TD939-4782 g ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
  236.  
  237.     Connect to van-bc using HAYES dialer with phone number 939-4782 with
  238.     protocol g.
  239.     Wait for ogin: if timeout send \n and wait for ogin:.
  240.     Send uuslmac (login ID).
  241.     Wait for sword:, if timeout send nothing, wait for sword:
  242.     Send uuslamc (login ID).
  243.     
  244. I use this entry to connect via a DC Hayes Smartmodem 2400, dialing explicity.
  245.  
  246. van-bc Any a DIR 2400 g "" ATZ OK-\d+++\dATZ-OK ATS7=12 OK ATTD939-4782 
  247.     CONNECT \d\c ogin:--ogin: uuslmac sword:-\c-sword: uuslmac
  248.  
  249.     Connect to van-bc at 2400 on port a with protocol g. 
  250.     Expect nothing, send ATZ to reset the modem, 
  251.     Expect OK, if not received send pause +++ pause to try and get
  252.     modems attention and wait for OK.
  253.     When OK received, send ATS7=12 to shorten connect timeout on modem.
  254.     Expect OK, send ATTD939-74782.
  255.     Expect CONNECT, send nothing but pause (\c is needed).
  256.     Expect ogin:, if not received send newline.
  257.     Send login name.
  258.     Expect sword:, send password.
  259.  
  260.  
  261. This entry is used to connect directly to my Callan at 9600. It is
  262. complicated due to the Callan running a special mgetty program which
  263. thinks it is talking to a Hayes Smartmodem. So we fake it out, then
  264. tell it the connection has been made at 9600, then switch to 9600 
  265. ourselves.
  266.  
  267. van-bc Any a DIR 2400 g "" OK\r\d\dRING\r\dCONNECT\s9600\d\z9600\ 
  268.     ogin:-\r\r-ogin: uuslmac sword:-\c-sword: uuslmac "" \d\d\d\d\d\d\c
  269.  
  270.     Connect to van-bc at 2400 on port a.
  271.     Expect nothing, send OK, pause, RING, CONNECT, 9600, 
  272.     and change to 9600 bps.
  273.     Expect ogin: send login id.
  274.     Expect sword: send password.
  275.  
  276.  
  277.  
  278.